#!/bin/bash

TS_TOPDIR="${0%/*}/../.."
TS_DESC="mountpoint"

. "$TS_TOPDIR"/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_MOUNTPOINT"
ts_check_test_command "$TS_CMD_FINDMNT"

# / is not always a mountpoint (chroots etc.), so check if it is and otherwise
# fallback to the first available mountpoint.
FIRST_MOUNTPOINT=$($TS_CMD_FINDMNT -no TARGET / || $TS_CMD_FINDMNT -fno TARGET)

[ -z "$FIRST_MOUNTPOINT" ] && ts_skip "no mountpoint found for symlink tests"

ln -s $FIRST_MOUNTPOINT ./symlink-to-mountpoint

ts_init_subtest "default"
$TS_CMD_MOUNTPOINT ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG
echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_finalize_subtest

ts_init_subtest "nofollow"
$TS_CMD_MOUNTPOINT --nofollow ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG
echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_finalize_subtest

ts_init_subtest "mutually-exclusive"
$TS_CMD_MOUNTPOINT --devno --nofollow / >> $TS_OUTPUT 2>> $TS_ERRLOG
echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
ts_finalize_subtest

rm -f ./symlink-to-mountpoint
ts_finalize
